@namespace sch url('http://purl.oclc.org/dsdl/schematron');
@namespace xsl url('http://www.w3.org/1999/XSL/Transform');
@namespace oxy url('http://www.oxygenxml.com/extensions/author');
oxy|comment {
    display:block !important;
    color: green !important;
    background-color: #F5F5FF !important;
    margin-left : 8px !important;
    margin-top : 10px !important;
    margin-bottom : 10px !important;
    padding: 0px !important;
    border-right :2px solid gray !important;
    border-bottom :2px solid gray !important;
    border-left :1px dotted gray !important;
    border-top :1px dotted gray !important;
    margin-right:10px !important;
}
/* schema */
sch|schema:before {
    content : 'ISO Schematron schema';
    font-size : large;
    font-weight : bold;
}
sch|schema[schemaVersion]:before {
    content : 'ISO Schematron schema - schema version: ' attr('schemaVersion');
}
sch|schema[queryBinding]:before {
    content : 'ISO Schematron schema - query binding: ' attr('queryBinding');
}
sch|schema[queryBinding][schemaVersion]:before {
    content : 'ISO Schematron schema - query binding: ' attr('queryBinding') ', schema version: ' attr('schemaVersion');
}
sch|schema[defaultPhase]:before {
    link : '#' attr('defaultPhase');
    content : 'ISO Schematron schema - default phase: ' url(img/link.png) attr(defaultPhase);
}
sch|schema[defaultPhase][schemaVersion]:before {
    content : 'ISO Schematron schema - schema version: ' attr('schemaVersion') ', default phase: ' url(img/link.png) attr(defaultPhase);
}
sch|schema[defaultPhase][queryBinding]:before {
    content : 'ISO Schematron schema - query binding: ' attr('queryBinding') ', default phase: ' url(img/link.png) attr(defaultPhase);
}
sch|schema[defaultPhase][queryBinding][schemaVersion]:before {
    content : 'ISO Schematron schema - query binding: ' attr('queryBinding') ', schema version: ' attr('schemaVersion') ', default phase: ' url(img/link.png) attr(defaultPhase);
}
sch|schema[icon]:before {
    display : block;
}
sch|schema {
    display : block;
}
sch|schema[icon] {
    content : attr('icon', url);
}
sch|schema[icon] {
    content : attr('icon', url);
}
sch|schema[see]:after {
    border-top : 1px solid gray;
    content : 'See also: ' url(img/link.png)  attr('see');
    link: attr(see);
    display:block;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* namespace declaration */
sch|ns:before {
    content : 'Namespace declaration ';
}
sch|ns {
    display : block;
    content : attr('prefix') ' → ' attr('uri');
    margin-left : 8px;
}
/* included schemas */
sch|schema > sch|include {
    margin-left : 8px;
}
sch|include {
    display : block;
    content : 'Include schema ';
}
sch|include[href]:after {
    link: attr(href);
    content:url(img/link.png) attr('href');
    display:inline;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* Phases */
sch|phase:before {
    content : 'Phase ';
}
sch|phase {
    -oxy-foldable : true;
    display : block;
    content : attr('id');
    border : 1px solid gray;
    margin : 8px;
    background-color : #FCFCFF;
}
sch|phase[icon] {
    content : attr('id') ' ' attr('icon', url);
}
sch|phase[see]:after {
    border-top : 1px solid gray;
    content : 'See also: ' url(img/link.png)  attr('see');
    link: attr(see);
    display:inline;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* active patterns inside a phase */
sch|active:before {
    content : 'Active pattern ';
}
sch|active {
    display : block;
}
sch|active:after {
    content : url(img/link.png) attr('pattern');
    link: '#' attr('pattern');
    display:inline;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* patterns */
sch|pattern:before {
    content : 'Pattern ' attr('id');
}
sch|pattern[is-a]:before {
    content : 'Pattern ' attr('id') ' → ' url(img/link.png) attr('is-a');
    link: '#' attr(is-a);
}
sch|pattern[abstract='true']:before {
    content : 'Abstract pattern ' attr('id');
}
sch|pattern[is-a][abstract='true']:before {
    content : 'Abstract pattern ' attr('id') ' → ' url(img/link.png) attr('is-a');
}
sch|pattern {
    -oxy-foldable : true;
    border : 1px solid gray;
    margin : 8px;
    display : block;
    background-color : #FFFFF7;
}
sch|pattern[icon] {
    content : ' ' attr('icon', url);
}
sch|pattern[see]:after {
    content : url(img/link.png) ' See also ' attr('see');
    link: attr(see);
    display:inline;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* param */
sch|param {
    display:list-item;
    margin-left : 20px;
    content : attr('name') ' = ' attr('value');
    padding-left : 8px;
}
/* let */
sch|let {
    display:list-item;
    margin-left : 24px;
    content : 'Let ' attr('name') ' = ' attr('value');
    padding-left : 8px;
}
/* Rules */
sch|rule:before {
    font-weight:normal;
    content : 'Rule ' attr(id) ' context ';
}
sch|rule[subject]:before {
    content : 'Rule ' attr(id) ' about subject "' attr(subject) '" context ';
}
sch|rule[role]:before {
    content : 'Rule ' attr(id) ' with the role "' attr(role) '" context ';
}
sch|rule[role][subject]:before {
    content : 'Rule ' attr(id) ' with the role "' attr(role) '" and subject "' attr(subject) '" context ';
}
sch|rule[flag]:before {
    font-weight:normal;
    content : 'Rule ' attr(id) ' [' attr(flag) '] context ';
}
sch|rule[flag][subject]:before {
    content : 'Rule ' attr(id) ' [' attr(flag) '] about subject "' attr(subject) '" context ';
}
sch|rule[flag][role]:before {
    content : 'Rule ' attr(id) ' [' attr(flag) '] with the role "' attr(role) '" context ';
}
sch|rule[flag][role][subject]:before {
    content : 'Rule ' attr(id) ' [' attr(flag) '] with the role "' attr(role) '" and subject "' attr(subject) '" context ';
}
sch|rule[abstract='true']:before {
    font-weight:normal;
    content : 'Abstract rule ' attr(id) ' context ';
}
sch|rule[abstract='true'][subject]:before {
    content : 'Abstract rule ' attr(id) ' about subject "' attr(subject) '" context ';
}
sch|rule[abstract='true'][role]:before {
    content : 'Abstract rule ' attr(id) ' with the role "' attr(role) '" context ';
}
sch|rule[abstract='true'][role][subject]:before {
    content : 'Abstract rule ' attr(id) ' with the role "' attr(role) '" and subject "' attr(subject) '" context ';
}
sch|rule[abstract='true'][flag]:before {
    font-weight:normal;
    content : 'Abstract rule ' attr(id) ' [' attr(flag) '] context ';
}
sch|rule[abstract='true'][flag][subject]:before {
    content : 'Abstract rule ' attr(id) ' [' attr(flag) '] about subject "' attr(subject) '" context ';
}
sch|rule[abstract='true'][flag][role]:before {
    content : 'Abstract rule ' attr(id) ' [' attr(flag) '] with the role "' attr(role) '" context ';
}
sch|rule[abstract='true'][flag][role][subject]:before {
    content : 'Abstract rule ' attr(id) ' [' attr(flag) '] with the role "' attr(role) '" and subject "' attr(subject) '" context ';
}
sch|rule {
    display : block;
    font-weight:bold;
    content : attr('context') ' {';
    padding-left : 8px;
    margin-bottom : 8px;
    -oxy-foldable :true;
    margin-right : 8px;
    background-color : #FFFFFC;
}
sch|rule[icon] {
    content : '' attr('context') ' ' attr('icon', url) ' {';
}
sch|rule:after {
    content : '}';
}
sch|rule[see]:after {
    content : '} ' url(img/link.png) ' See also ' attr('see');
    link: attr(see);
    display:inline;
    background-color:inherit;
    font-weight:normal;
}
sch|rule > * {
    font-weight:normal;
}
/* extensions */
sch|extends {
    display : block;
    content : 'extends ';
    margin-left : 8px;
    color:brown;
}
sch|extends[rule]:after {
    link: '#' attr(rule);
    content:url(img/link.png) attr('rule');
    display:inline;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
}
/* assertions */
sch|assert:before {
    display : block;
    content : 'assert ' attr('test');
    padding-left : 8px;
    color : blue;
}
sch|assert[diagnostics]:before {
    content : 'assert ' attr('test') '  ' url(img/info.gif) ' ' attr(diagnostics);
}
sch|assert[icon]:before {
    content : attr(icon, url) ' assert ' attr('test');
}
sch|assert[diagnostics][icon]:before {
    content : attr(icon, url) ' assert ' attr('test') '  ' url(img/info.gif) ' ' attr(diagnostics);
}
sch|assert {
    display : block;
    content : '└ ';
    padding-left : 20px;
    margin-right : 20px;
    margin-left : 8px;
    margin-bottom : 4px;
    background-color : #F5FAFF
}
sch|assert[see]:after {
    content : ' ' url(img/link.png) ' See also ' attr('see');
    link: attr(see);
    display:inline;
    background-color:inherit;
    font-weight:normal;
}
/* reports */
sch|report:before {
    display : block;
    content : 'report when ' attr('test');
    padding-left : 8px;
    color : green;
}
sch|report[diagnostics]:before {
    content : 'report ' attr('test') '  ' url(img/info.gif) ' ' attr(diagnostics);
}
sch|report[icon]:before {
    content : attr(icon, url) ' report ' attr('test');
}
sch|report[diagnostics][icon]:before {
    content : attr(icon, url) ' report ' attr('test') '  ' url(img/info.gif) ' ' attr(diagnostics);
}
sch|report {
    display : block;
    content : '└ ';
    padding-left : 20px;
    margin-right : 20px;
    margin-left : 8px;
    background-color : #F9FFF3
}
sch|report[see]:after {
    content : ' ' url(img/link.png) ' See also ' attr('see');
    link: attr(see);
    display:inline;
    background-color:inherit;
    font-weight:normal;
}
/* Diagnostics */
sch|diagnostics:before {
    content : 'Diagnostics';
    font-weight : bold;
}
sch|diagnostics {
    -oxy-foldable : true;
    display : block;
    margin : 8px;
    background-color : #FFFCFC;
}
sch|diagnostic:before {
    content : url(img/info.gif) ' ' attr('id');
    color : navy;
    font-weight : bold;
}
sch|diagnostic[icon]:before {
    content : attr(icon, url) ' ' attr('id');
}
sch|diagnostic {
    display : block;
    content : ' - ';
}
sch|diagnostic[see]:after {
    content : '' url(img/link.png) ' See also ' attr('see');
    link: attr(see);
    display:block;
    text-decoration:underline;
    color:navy;
    background-color:inherit;
    font-weight:normal;
    margin-bottom : 10px;
}
/* key, name and value-of */
xsl|key:before {
    content : 'Key ' attr('name') ' ';
}
xsl|key {
    display : block;
    content : attr('match') ' → ' attr('use');
    margin-left : 8px;
}
sch|name {
    color : blue;
    content:'<' oxy_name() '/>';
}
sch|value-of {
    color : blue;
    content:'<' oxy_name() oxy_attributes() '/>';
}
/* documentation and formatting */
/* title */
sch|title {
    display : block;
    font-size : large;
    font-weight : bold;
    margin-bottom : 10px;
}
/* paragraphs */
sch|p[icon]:before {
    content : attr('icon', url);
}
sch|p {
    border-right :2px solid gray;
    border-bottom :2px solid gray;
    border-left :1px dotted gray;
    border-top :1px dotted gray;
    display : block;
    padding-left:10px;
    padding-bottom:4px;
    padding-top:4px;
    margin-bottom:10px;
    margin-top:10px;
    margin-right:10px;
    margin-left:8px;
    font-weight :normal;
}
/* others */
sch|emph {
    font-style : italic;
}
sch|dir {
}